package com.zjcode.cdcer.mapper;

import com.chinatechstar.component.commons.supports.PageData;
import com.zjcode.cdcer.model.ZjcodeFollowUpCondition;
import com.zjcode.cdcer.model.ZjcodeFollowUpConditionOffice;
import com.zjcode.cdcer.model.ZjcodeFollowUpEpidemic;
import com.zjcode.cdcer.model.ZjcodeFollowUpList;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.LinkedHashMap;
import java.util.List;

/**
 * @author ZQM
 * @date 2023/9/25 14:46
 */
@Mapper
public interface FollowUpListMapper {

    Integer add(@Param("zjcodeFollowUpList") ZjcodeFollowUpList zjcodeFollowUpList);

    Integer addUpList(@Param("zjcodeFollowUpList") ZjcodeFollowUpList zjcodeFollowUpList);

    Integer getCountBysysteminitId(@Param("systeminitId") String systeminitId);


    ZjcodeFollowUpEpidemic selEpidemicByFollowUpId(@Param("id") String id);

    void addEpidemic(@Param("followUpEpidemic") ZjcodeFollowUpEpidemic followUpEpidemic);

    void delEpidemicById(@Param("id") String id);

    List<ZjcodeFollowUpCondition> selConditionByFollowUpId(@Param("id") String id);

    void addCondition(@Param("followUpConditionList") List<ZjcodeFollowUpCondition> followUpConditionList);

    void delConditionById(@Param("collect") List<String> collect);

    ZjcodeFollowUpList selById(@Param("id") String id);

    Integer del(@Param("id") String id);

    List<LinkedHashMap<String, Object>> selList(@Param("pageData") PageData pageData);

    void edit(@Param("zjcodeFollowUpList") ZjcodeFollowUpList zjcodeFollowUpList);

    Integer uploadedReported(@Param("id") String id);

    void uploadedRecover(@Param("pageData") PageData pageData);

    List<LinkedHashMap<String, Object>> queryAllExportData(@Param("extFlag") String extFlag, @Param("ids") List<String> ids,
                                                           @Param("pageData") PageData pageData, @Param("idsData") Object idsData);

    List<ZjcodeFollowUpList> getDataByInitId(@Param("initId") String initId);


    List<LinkedHashMap<String, Object>> selYSfNumByOrgId(@Param("orgIdList") List<Long> orgIdList, @Param("pageData") PageData pageData);

    List<LinkedHashMap<String, Object>> selSfNumByOrgId(@Param("orgIdList") List<Long> orgIdList, @Param("pageData") PageData pageData);

    Integer selFollowupNum(@Param("year") String year);

    Integer selFollowupNumAll(@Param("year") String year);

    List<ZjcodeFollowUpList> getUpListByInitId(@Param("initIds") List<String> initIds);

    Integer updateFollowUpListStatusByIds(@Param("upListIds") List<String> upListIds);

}
